.hasNext {
  &:before {
    content: "";
    position: absolute;
    top: -12px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 0;
    height: 4px;
    border-style: solid;
    border-width: 8px 6px 4px;
    border-color: #cacaca transparent transparent;
    background: #f5f5f7;
  }
}

.node-wrap {
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  padding: 0 50px;
  position: relative;

  .node-wrap-box {
    display: inline-flex;
    flex-direction: column;
    position: relative;
    width: 220px;
    min-height: 72px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 4px;
    cursor: pointer;

    & :after {
      pointer-events: none;
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 2;
      border-radius: 4px;
      border: 1px solid transparent;
      transition: all 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
      box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.1);
    }

    .title {
      position: relative;
      display: flex;
      align-items: center;
      padding-left: 16px;
      padding-right: 30px;
      width: 100%;
      height: 24px;
      line-height: 24px;
      font-size: 12px;
      color: #fff;
      text-align: left;
      background: #576a95;
      border-radius: 4px 4px 0 0;

      .title-span {
        width: 220px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
      }

      .title-input {
        height: 20px;
        color: #000;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        border: 0;
      }

      .anticon {
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 14px;
      }
    }

    .content {
      position: relative;
      font-size: 14px;
      padding: 16px;
      padding-right: 30px;

      .text {
        display: block;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 15px;
      }

      .arrow {
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        width: 20px;
        height: 14px;
        font-size: 14px;

        &::after {
          box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 1);
          border: 0;
        }
      }
    }
  }

  .node-wrap-box-before {
    .node-wrap-box::before {
      content: "";
      position: absolute;
      top: -12px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      width: 0;
      height: 4px;
      border-style: solid;
      border-width: 8px 6px 4px;
      border-color: #cacaca transparent transparent;
      background: #f5f5f7;
    }
  }
}

.branch-wrap {
  display: inline-flex;
  width: 100%;

  .branch-box-wrap {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    min-height: 270px;
    width: 100%;
    flex-shrink: 0;

    .add-branch {
      justify-content: center;
      font-size: 12px;
      padding: 0 10px;
      height: 30px;
      line-height: 30px;
      border-radius: 15px;
      color: #3296fa;
      background: #fff;
      box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
      position: absolute;
      top: -16px;
      left: 50%;
      transform: translateX(-50%);
      transform-origin: center center;
      cursor: pointer;
      z-index: 9 !important;
      display: inline-flex;
      align-items: center;
      transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    }

    .branch-box {
      display: flex;
      overflow: visible;
      min-height: 180px;
      height: auto;
      border-bottom: 2px solid #ccc;
      border-top: 2px solid #ccc;
      position: relative;
      margin-top: 15px;

      .col-box {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        position: relative;
        background: #f5f5f7;

        &::before {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          z-index: 0;
          margin: auto;
          width: 2px;
          height: 100%;
          background-color: #cacaca;
        }

        .top-left-cover-line,
        .top-right-cover-line {
          position: absolute;
          height: 3px;
          width: 50%;
          background-color: #f5f5f7;
          top: -2px;
        }

        .bottom-left-cover-line,
        .bottom-right-cover-line {
          position: absolute;
          height: 3px;
          width: 50%;
          background-color: #f5f5f7;
          bottom: -2px;
        }

        .bottom-left-cover-line,
        .top-left-cover-line {
          left: -1px;
        }

        .bottom-right-cover-line,
        .top-right-cover-line {
          right: -1px;
        }

        .condition-node {
          min-height: 220px;
        }

        .condition-node,
        .condition-node-box {
          display: inline-flex;
          flex-direction: column;
        }

        .condition-node-box {
          padding-top: 30px;
          padding-right: 50px;
          padding-left: 50px;
          -webkit-box-pack: center;
          justify-content: center;
          -webkit-box-align: center;
          align-items: center;
          flex-grow: 1;
          position: relative;

          &:before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: auto;
            width: 2px;
            height: 100%;
            background-color: #cacaca;
          }

          .auto-judge {
            position: relative;
            width: 220px;
            min-height: 72px;
            background: #fff;
            border-radius: 4px;
            padding: 14px 19px;
            display: inline-block;

            .editor-close {
              position: absolute;
              right: 5px;
              top: 5px;
              color: #ccc;
            }

            cursor: pointer;

            &:after {
              pointer-events: none;
              content: "";
              position: absolute;
              top: 0;
              bottom: 0;
              left: 0;
              right: 0;
              z-index: 2;
              border-radius: 4px;
              border: 1px solid transparent;
              transition: all 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
              box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.1);
            }

            .title-wrapper {
              position: relative;
              font-size: 12px;
              color: #15bc83;
              text-align: left;
              line-height: 20px;
              overflow: hidden;
              text-emphasis: none;

              .editor-input {
                color: #15bc83;
                max-width: 120px;
                overflow: hidden;
                white-space: nowrap;
                text-overflow: ellipsis;
                border: 0;
              }

              .priority-title {
                font-size: 12px;
                color: #ccc;
                float: right;
              }
            }

            .content {
              font-size: 14px;
              color: #191f25;
              text-align: left;
              margin-top: 6px;
              overflow: hidden;
              text-overflow: ellipsis;
              display: -webkit-box;
            }
          }
        }
      }
    }
  }
}